<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

use App\Http\Controllers\Controller;

use DB;

class officheController extends Controller
{
    public function index(Request $request)
    {

    	// 保存搜索的条件
    	$where = [];

        // 选择数据库表
    	$db = DB::table('storeNotice');

        // 判断有没有查询公告标题
    	if ($request->has('NoticeTitle')) {

            // 模糊查询
    		$db->where('NoticeTitle', 'like', "%{$request->input('NoticeTitle')}%");

            // 查询内容
    		$where['NoticeTitle'] = $request->input('NoticeTitle');

    	}
 
        // 分页
    	$list = $db->paginate(3);
    	
    	return view('admin.offiche.offichelist', ['list'=>$list, 'where'=>$where]);

    }

    public function create()
    {

    	return view('admin.offiche.officheadd');

    }

    public function store(Request $request)
    {

        // 自定义错误信息
        $message = [

            'required' => ':attribute 不能为空',

        ];

        //设定验证规则
        $this->validate($request, [

            'NoticeTitle' => 'required',

            'NoticeContent' => 'required',

        ], $message);

        // 去除token字段名
        $data = $request->except('_token');

        // 设置当前时区
		date_default_timezone_set('PRC');

        // 获取当前创建公告时间
        $time = date('Y-m-d H:i', time());

        // 设置创建公告时间
        $data['NoticeTime'] = $time;

        // 将添加的数据插入数据库
       	$id = DB::table('storeNotice')->insertGetId($data);

        // 判断是否上传成功
        if ($id > 0) {

            return redirect('/offiche')->with('msg', '添加成功');

        }

    }

    public function destroy($id)
    {

        //执行删除
        $row = DB::table('storeNotice')->where('NoticeId', $id)->delete();

        // 判断是否删除成功
        if($row > 0){

            return redirect('/offiche')->with('msg', '删除成功');

        }

    }

    public function edit($id)
    {

        // 获得数据表storeNotice中的相应数据
        $list = DB::table('storeNotice')->where('NoticeId', $id)->first();

        return view('admin.offiche.officheedit', ['list'=>$list]);

    }

    public function update($id, Request $request)
    {   

        // 自定义错误信息
        $message = [

            'required' => ':attribute 不能为空',

        ];

        //设定验证规则
        $this->validate($request, [

            'NoticeTitle' => 'required',

            'NoticeContent' => 'required',

        ], $message);

        // 去除token和method字段名
        $data = $request->except('_token', '_method');

        // 执行修改
        $row = DB::table('storeNotice')->where('NoticeId', $id)->update($data);

        // 判断是否修改成功
        if ($row > 0) {

            return redirect('/offiche')->with('msg', '修改成功');

        }

    }

}
